// TODO:module动态管理 增加接口api:remove get等接口动态管理module列表

namespace ne {
    export class ModuleManager {
        /**模块Hash*/
        private static _modules: any[];

        /**
         * 注册模块
         * @param $moduleClass
         *
         */
        static resigerModules($modules: any[]): void {
            this._modules = $modules;
        }

        /**启动各个模块*/
        static startModules(): void {
            for (let i: number = 0, l: number = this._modules.length; i < l; i++) {
                let $moduleClass: any = this._modules[i];
                let _instance: Module = new $moduleClass();
                //启动所有代理
                _instance.startProxy();
                _instance.onStart();
            }
        }

        static registerModule($module: any) {
            let $moduleClass = $module
            let ins: Module = new $moduleClass();
            ins.startProxy()
        }
    }
}